package com.sinobpo.rnd2.ehr.dao;

import java.util.List;

import com.sinobpo.rnd2.ehr.model.MedExpSat;
import com.sinobpo.rnd2.ehr.util.TimeType;

/**
 * 医疗费用统计数据接口
 * 
 * @author yinghui.zhang
 * @CreateDate 2012-7-11
 * @file ClinicSatDao.java
 * @package com.sinobpo.rnd2.ehr.dao
 * @version 1.0
 * @Email uuhui@163.com
 */
public interface MedExpSatDao extends BaseDao<MedExpSat> {

	/**
	 * 查询费用人均总数
	 * 
	 * @param timeType
	 *            日期枚举类型(年/月/日)
	 * @param viewName
	 *            视图名称
	 * @param conds
	 *            查询条件
	 * @return int
	 */
	public int getCountOfPCT(TimeType timeType, String viewName,
			Object... conds);

	/**
	 * 按查询条件进行费用人均综合统计
	 * 
	 * @param timeType
	 *            日期枚举类型(年/月/日)
	 * @param viewName
	 *            视图名称
	 * @param conds
	 *            查询条件
	 * @return List<MedExpSat>
	 */
	public List<MedExpSat> getSumOfPCT(TimeType timeType, String viewName,
			Object... conds);

	/**
	 * 按查询条件进行门诊人均综合分类统计
	 * 
	 * @param timeType
	 *            日期枚举类型(年/月/日)
	 * @param viewName
	 *            视图名称
	 * @param conds
	 *            查询条件
	 * @return Object
	 */
	public Object getSumByTypeOfPCT(TimeType timeType, String viewName,
			Object... conds);

	/**
	 * 按查询条件查询住院人均数据
	 * 
	 * @param page
	 *            当前页数
	 * @param rows
	 *            当前行数
	 * @param timeType
	 *            日期枚举类型(年/月/日)
	 * @param viewName
	 *            视图名称
	 * @param conds
	 *            查询条件
	 * @return List<MedExpSat>
	 */
	public List<MedExpSat> getListOfPCT(int page, int rows, TimeType timeType,
			String viewName, Object... conds);
}
